package com.wxzz.elearing.livetelecast.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wxzz.elearning.common.bean.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author
 * @since 2021-04-02
 */
@Data
@ApiModel(value = "WxUserPlatformLivetelecast对象", description = "")
public class WxUserPlatformLivetelecast extends BaseEntity {

    private Long wxUserId;

    @ApiModelProperty(value = "直播id")
    private Long platformLivetelecastId;

    @ApiModelProperty(value = "头像")
    private String icon;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;

    @ApiModelProperty(value = "是否观看 0-否 1-是")
    private Integer isWatch;

    @ApiModelProperty(value = "打赏金额")
    private BigDecimal rewardAmount;

    @ApiModelProperty(value = "讲师收入金额")
    private BigDecimal docentAmount;

    @ApiModelProperty(value = "行业分类")
    private String businessCategoryName;

    @ApiModelProperty(value = "0-自己预约 1-受邀请预约 2-自己开播时进入 3-受邀请开播时进入")
    private Integer invitedType;

    @ApiModelProperty(value = "邀请人用户id")
    private Long invitedWxUserId;

    @ApiModelProperty(value = "邀请人数")
    private Long invitationNum;

    @ApiModelProperty(value = "订单id(默认0)")
    private Long userOrderId;

    @ApiModelProperty(value = "0-待支付 1-已支付")
    private Integer payStatus;

    @ApiModelProperty(value = "类型 0-线下 1-线上")
    private Integer onlineType;

    @ApiModelProperty(value = "类型 0-预约直播 1-预约活动")
    private Integer type;

    @ApiModelProperty(value = "活动id")
    private Long activityId;

    @ApiModelProperty(value = "观看时长(时间戳)")
    private Long seeTime;

    @ApiModelProperty(value = "是否签到 0-未签到  1-已签到")
    private Integer isSignIn;

    @ApiModelProperty(value = "座位号(0非导入人员)")
    private Integer seatCode;

    @TableField(exist = false)
    @ApiModelProperty(value = "观看时长(h)")
    private double seeTimeHour = 0;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "预约时间")
    private LocalDateTime appointmentTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "我的排名(小程序)(101一百名之外)")
    private Integer myRanking = 101;

}
